# -*- coding: utf-8 -*-

REQUIRED = {}

def main():

  from pylot.core import CommandGroup

  process.stdout_mode = None # Ré-initialisation aux valeurs par défaut
  # Étape obligatoire pour le moment car les changements sont conservés d'une
  # exécution à l'autre (BUG dans l'interface graphique seulement).

  # A. Création du groupe de commande:

  cg = CommandGroup(u'listdir')
  cg.addShellCmd(u'ls')

  # Changement du mode de sortie
  cg.stdout_mode = [u'save']

  # Exécution et récupération de la sortie
  process.run(cg)
  cmd_ls = cg.shellcmds[0]
  assert(len(cmd_ls.stdout) > 0)

  # B. Exécution directe de commandes
  cg = process.runCmd(u'ls')
  cmd_ls = cg.shellcmds[0]
  assert(cmd_ls.stdout is None) # mode par défaut, sortie écran, pas de sauvegarde

  # Changement de mode du process_handler
  process.stdout_mode = [u'save']
  cg = process.runCmd(u'ls')
  cmd_ls = cg.shellcmds[0]
  assert(len(cmd_ls.stdout) > 0)

  # Utiliser le mode
  process.stdout_mode = [u'write', u'save']
  # pour avoir la sortie à l'écran et dans les variables.


